package com.study.mapper;

import com.study.pojo.Emp;
import com.study.pojo.EmpQueryParam;
import org.apache.ibatis.annotations.Mapper;

import java.util.List;

/**
 * 类名称：EmpMapper
 * 描述：员工数据访问层
 *
 * @author: Lixx
 * 创建时间: 2025/03/06
 */
@Mapper
public interface EmpMapper {
    /**
     * 计数
     *
     * @return {@link Long }
     * @author Lixx
     * @date 2025/03/07
     *
     *
     *   @Select("select count(*) from emp")
     *     Long count();
     */
    /**
     * 分页列表
     *
     * @param start    开始
     * @param pageSize 每页展示的内容
     * @return {@link List }<{@link Emp }>
     * @author Lixx
     * @date 2025/03/07
     *
     * @Select("select e.*, d.name deptName from emp as e left join dept as d on e.dept_id = d.id " +
     *             "order by e.update_time desc limit #{start}, #{pageSize}")
     *     List<Emp> list(Integer start , Integer pageSize);
     */

    /**
     * 条件分页查询
     *
     * @param empQueryParam EMP 查询参数
     * @return {@link List }<{@link Emp }>
     * @author Lixx
     * @date 2025/03/07
     */
    List<Emp> list(EmpQueryParam empQueryParam);


    /**
     * 加
     *
     * @param emp 员工对象
     * @author Lixx
     * @date 2025/03/10
     */

    void add(Emp emp);


}
